Interaction with a computing device via movement of a portion of a user interface

ABSTRACT

Computing devices, computer-readable storage media, and methods associated with human computer interaction. In embodiments, a computing device may include a display, a processor coupled with the display, a user interface engine and one or more applications to be operated on the processor. In embodiments, the user interface engine or the one or more applications may be configured to detect movement of the portable computing device indicating a direction a user of the portable computing device would like a portion of the user interface to move and cause the portion of the user interface to be moved, from a current location on the display to another location on the display, in accordance with the indicated direction. Such movement may facilitate the user to interact with the portion of the user interface via the interaction zone of the display. Other embodiments may be described and/or claimed.

RELATED APPLICATIONS

This patent arises from a continuation of U.S. patent application Ser.No. 14/993,970, filed on Jan. 12, 2016, and entitled “INTERACTION WITH ACOMPUTING DEVICE VIA MOVEMENT OF A PORTION OF A USER INTERFACE,” whichis a continuation of U.S. patent application Ser. No. 14/223,832, whichwas filed on Mar. 24, 2014 and was entitled “INTERACTION WITH ACOMPUTING DEVICE VIA MOVEMENT OF A PORTION OF A USER INTERFACE.”Priority to U.S. patent application Ser. Nos. 14/993,970 and 14/223,832is hereby claimed. U.S. application Ser. Nos. 14/993,970 and 14/223,832are hereby incorporated herein by reference in their entireties.

TECHNICAL FIELD

Embodiments of the present disclosure are related to the field of humancomputer interaction, and in particular, to interaction with a computingdevice via a display of the computing device.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Unless otherwiseindicated herein, the materials described in this section are not priorart to the claims in this application and are not admitted to be priorart by inclusion in this section.

Touch screens have revolutionized the market for portable computingdevices. At the same time there is a constant struggle betweenincreasing screen sizes of the portable computing devices and theusability of the computing devices. Screen sizes of portable computingdevices are getting bigger and bigger, but this additional screen sizemay lead to cumbersome interaction with the entire screen making it hardfor consumers to control the portable computing device while maintaininga consistent grip with one or more hands. This cumbersome interaction ismagnified when trying to control a portable computing device with asingle hand, as many consumers do. These interaction issues may provideusability drawbacks that consumers may feel they have to suffer foradditional screen size of the portable computing device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an illustrative user interaction with a user interface ofa portable computing device, in accordance with various embodiments ofthe present disclosure.

FIG. 2 depicts an illustrative utilization of an interaction zone tointeract with a portion of a user interface, in accordance with variousembodiments of the present disclosure.

FIG. 3 depicts illustrative multiple interaction zones of a portablecomputing device, in accordance with various embodiments of the presentdisclosure.

FIG. 4 depicts an illustrative process flow, in accordance with variousembodiments of the present disclosure.

FIG. 5 depicts another illustrative process flow, in accordance withvarious embodiments of the present disclosure.

FIG. 6 depicts an illustrative configuration of a portable computingdevice, in accordance with various embodiments of the presentdisclosure.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Methods, storage media, and computing devices for human computerinteraction are described. In embodiments, a computing device mayinclude a display, a processor coupled with the display, one or moreapplications to be operated on the processor, and a user interfaceengine to be operated on the processor. The user interface engine or theone or more applications may be operated on the processor to detectmovement of the portable computing device indicating a direction theuser would like a portion of the user interface to move. In embodiments,the user interface engine or the one or more applications may cause theportion of the user interface to be moved, from a current location onthe display to another location on the display, in accordance with theindicated direction. Such movement may facilitate the user of theportable computing device to interact with the portion of the userinterface via the display. For example, the portable computing devicemay be a smart phone. The portion of the user interface may be an iconof the user interface that a user may wish to activate. In someembodiments, the user may move or rotate the smart phone in a directionto indicate the direction the user would like the user interface to moveand, in response, the user interface engine may move the icon, alongwith the rest of the user interface in some embodiments, in theindicated direction to facilitate the user in activating the icon.

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown, by way ofillustration, embodiments that may be practiced. It is to be understoodthat other embodiments may be utilized and structural or logical changesmay be made without departing from the scope of the present disclosure.Therefore, the following detailed description is not to be taken in alimiting sense, and the scope of embodiments is defined by the appendedclaims and their equivalents.

Various operations may be described as multiple discrete actions oroperations in turn, in a manner that is most helpful in understandingthe claimed subject matter. However, the order of description should notbe construed as to imply that these operations are necessarily orderdependent. In particular, these operations may not be performed in theorder of presentation. Operations described may be performed in adifferent order than the described embodiment. Various additionaloperations may be performed and/or described operations may be omittedin additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C). The description may use thephrases “in an embodiment,” or “in embodiments,” which may each refer toone or more of the same or different embodiments. Furthermore, the terms“comprising,” “including,” “having,” and the like, as used with respectto embodiments of the present disclosure, are synonymous.

FIG. 1 depicts an illustrative user interaction 100 with a userinterface of a portable computing device 102, in accordance with variousembodiments of the present disclosure. In some embodiments, userinteraction 100 may begin with a user holding a portable computingdevice, e.g., smart phone 102. As depicted, smart phone 102 may have aninteractive display, integrated therewith, configured to render a userinterface. In embodiments, portable computing device 102 may have a userinterface engine, such as that described elsewhere herein, incorporatedto enable portable computing device to carry out one or more of theoperations described herein.

In embodiments, smart phone 102 may be configured such that a user maybe able to interact with the entirety of the user interface utilizingone or more hands without the need to move the one or more hands toperform the interaction. This may be accomplished, for example, byconfiguring smart phone 102 to detect user input indicating a directionthe user would like the user interface to move or input indicating aportion of the user interface with which the user would like tointeract. As depicted here at 106, one example of input indicating adirection the user would like the user interface to move may be tiltingsmart phone 102 down and to the left. Such input may be detected by, forexample, an accelerometer, gyroscope, camera, or any other mechanismcapable of detecting movement of smart phone 102. Once such an input isdetected, smart phone 102 may be configured to utilize the input todetermine a direction, indicated by arrow 108, in which the user wouldlike the user interface to move for interaction with the portion of theuser interface. As depicted here, tilting smart phone 102 down and tothe left may be utilized by the user to effectively indicate that theuser would like the user interface to move down and to the left. Such aneffect may be described as a waterfall effect, where the user may movesmart phone 102 such that a portion of the user interface with which theuser would like to interact may fall in the direction indicated by theinput at 110 to effectively bring that portion of the user interfacecloser to an area of the screen with which the user may more easilyinteract. This may facilitate the user in interacting with the entiretyof the user interface via an interactive display even where the user maynot be able to reach the entirety of the display. Once the portion ofthe user interface the user would like to interact with is within theuser's reach, e.g., by the user's thumb when operating smart phone 102with a single hand, the user may interact with that portion. Once theportion of the user interface has moved far enough in the indicateddirection for the user to interact with the portion of the userinterface, the user may activate icon 112 to initiate a calendarapplication associated with icon 112 at 114. The user may then utilizethe same process described above to interact with the user interface ofthe calendar application depicted.

While interactions are depicted and described above as being movement ofsmart phone 102 to indicate a direction the user would like a portion ofthe user interface to move, the particular interactions of FIG. 1 areused for illustrative purposes. In other embodiments, the user may beable to interact with the display of smart phone 102 to indicate adirection the user would like a portion of the user interface to move.For example, the user may utilize the user's thumb on an area of thedisplay to drag a portion of the user interface into an area of thedisplay with which the user may be able to interact more easily.Furthermore, the movement of smart phone 102 may vary from thatdescribed above. For example, the user may be able to shake, rotate,tilt, or otherwise move smart phone 102 to indicate a direction the userwould like a portion of the user interface to move.

FIG. 2 depicts an illustrative utilization of an interaction zone tointeract with a portion of a user interface, in accordance with variousembodiments of the present disclosure. As depicted, smart phone 202 maybe integrated with an interactive display and a user interface engineconfigured to render a user interface on the display. In embodiments,smart phone 202 may be configured to have an interaction zone 206, orpreferred area, encompassing an area of the display within which theuser may interact with one or more elements of the user interface.

As depicted, smart phone 202 may be tilted in a direction, such asdownward, to indicate that the user wishes to move a portion 204 of theuser interface down into interaction zone 206 to interact with portion204 via the display. In response, smart phone 202 may be configured tomove portion 204 of the user interface into interaction zone 206, asindicated by arrow 208. This may be accomplished, in some embodiments,by moving the entirety of the user interface down such that the portionof the user interface with which the user would like to interact movesinto interaction zone 204. In such embodiments, as the entire interfacemoves, a section of the interface may leave the display. In someembodiments, such as that depicted in FIG. 1 above, as the section ofthe user interface leaves the display the section of the user interfacedisappears until the user has completed the interaction with the portionof the user interface through the interaction zone, after which the userinterface may return to an original, or home, position. In otherembodiments, such as that depicted in FIG. 2 by section 210 of the userinterface, as a section of the user interface passes off of an edge ofthe display that section may reemerge on an opposite edge of thedisplay, effectively looping the user interface on the display. Whiledepicted in FIG. 2 as being utilized in an embodiment with interactionzone 206, such looping may be utilized in embodiments without a definedinteraction zone, such as that described above in reference to FIG. 1.In embodiments where the screen may loop, rather than moving the userinterface back to the original location, smart phone 202 may beconfigured to merely continue the loop to achieve the same effect. Whilethe user interface movement of FIG. 2 is depicted as moving the userinterface of an application without moving drop down notification bar212, this is merely for illustrative purposes only. In some embodiments,not depicted, movement of the user interface may include the entirety ofthe user interface including, but not limited to, drop down notificationbar 212, scroll bars (not depicted), or anything else rendered on thedisplay.

In some embodiments, the user may not need to move smart phone 202 orinteract with the display to achieve movement of the portion of the userinterface. For instance, smart phone 202 may be configured to detect anaudible command given by the user, e.g., via a microphone (not depicted)of smart phone 202. The audible command may describe a portion of theuser interface, such as a section of the user interface or specificelement of the user interface with which the user would like tointeract. In response to receiving such a command, smart phone 202 maybe configured to move the described portion of the user interface tointeraction zone 206 to facilitate the user's interaction with the userinterface. In other instances, smart phone 202 may be configured todetect a portion of the user interface with which the user would like tointeract by tracking eye movement of the user utilizing a camera, notdepicted, integrated with smart phone 202. In such embodiments, the usermay be able to look at a portion of the user interface with which theuser would like to interact and that portion of the user interface maybe moved into interaction zone 206 by smart phone 202 to facilitate theuser's interaction with that portion of the user interface.

FIG. 3 depicts possible user interaction zones of a portable computingdevice, in accordance with various embodiments of the presentdisclosure. As depicted, portable computing device, e.g., tablet 302,may have multiple interaction zones 304 and 306. These interaction zonesmay be determined based upon an orientation of tablet 302 and or aposition of one or more of the user's hands on tablet 302. For example,as depicted, tablet 302 is in a landscape orientation. In embodiments,this orientation may be sufficient to determine that the interactionzones 304 and 306 may be in the locations depicted. In otherembodiments, tablet 302 may be configured with pressure sensors todetermine a position of the user hands and utilize the determinedposition in determining the location of interaction zones 304 and 306.For example, the user may be gripping tablet 302 in the center on eitherside of tablet 302 and such positioning of the hands may be utilized todetermine the location of interaction zones 304 and 306. Thedetermination of interaction zones is discussed further in reference toFIG. 5, below.

FIG. 4 depicts an illustrative process flow 400 of a portable computingdevice, in accordance with various embodiments of the presentdisclosure. In some embodiments, the process may optionally begin atblock 402 with detection of a scroll activation action, e.g., by a userinterface engine of the portable computing device. In embodiments, thescroll activation action may be utilized to prevent accidentalscrolling, or movement, of a user interface by a user. Such a scrollactivation action may include, but is not limited to, shaking of theportable computing device, a touch of an interactive display for apredetermined period of time, a squeeze of the portable computing devicedetected by one or more pressure sensors of the portable computingdevice, a pressing of a sequence or combination of buttons and/or softkeys of the portable computing device, a predefined gesture drawn on theinteractive display by a user of the portable computing device, acovering of a camera of the portable computing device for apredetermined period of time, tilting and/or rotating the portablecomputing device beyond a predefined point, or any other such actioncapable of evincing an intent of the user to cause the user interface tomove, or scroll. In other embodiments, such a scroll activation actionmay be unnecessary and the procedure of block 402 may be omitted.

In block 404, input indicating a direction the user would like a portionof the user interface to move may be detected, e.g., by a user interfaceengine of the portable computing device. Such input may, in someembodiments, include moving, e.g., tilting and/or rotating, the portablecomputing device. For example, the user may position the portablecomputing device such that a desired portion of the user interface mayfall into an area of the display with which the user may more easilyinteract. In other embodiments, a user may utilize a finger on thedisplay to drag the user interface in a desired direction until theportion of the user interface the user wishes to interact with is withinreach. The above described inputs are merely meant to be illustrative,any input by a user that may indicate a direction the user would like aportion of the user interface to move, to facilitate the user'sinteraction with that portion, may be utilized without departing fromthe scope of this disclosure.

Once the direction the user would like a portion of the user interfaceto move has been determined, the portion of the user interface may bemoved in the indicated direction at block 406, e.g., by a user interfaceengine of the portable computing device. This may be accomplished, forexample, by moving the entirety of the user interface such that theportion of the user interface moves closer to an area the user is ableto more easily reach on the display. In some embodiments, this mayappear to the user as a jump from one location of the screen to another.In other embodiments, it may appear to the user to be a sliding of theuser interface. In such embodiments, a speed of the sliding may bedetermined based upon a degree of tilt and/or rotation of the portablecomputing device, for example. In such embodiments, as the entireinterface moves, a section of the interface may leave the display. Insome embodiments, such as that depicted in FIG. 1 above, as the sectionof the user interface leaves the display the section of the display maydisappear until the user has completed the interaction with the portionof the user interface, after which the user interface may return to anoriginal, or home, position. In other embodiments, such as that depictedin FIG. 2 above, as a section of the user interface passes off of anedge of the display that section may reemerge on an opposite edge of thedisplay, essentially looping the user interface on the display. In suchembodiments, rather than moving the user interface back to the originallocation, the user interface may merely continue the loop to achieve thesame effect.

In block 408, the portion of the user interface may be returned to ahome location, e.g., by a user interface engine of the portablecomputing device. As used herein, the home location may be the originallocation of the portion of the user interface prior to the movement ofblock 406. In some embodiments, the procedure of block 408 may occuronce the user has completed interaction with the portion of the userinterface. The completion of the interaction may, in some embodiments,be determined by the user's activation of an element of the userinterface, e.g., selection of an icon to initiate an associatedapplication. In other embodiments, the completion of the interaction maybe based upon a time period of inactivity or any other suitable actionor inaction.

In some circumstances, a user may change the user's mind about thedirection the user would like a portion of the user interface to move.In such circumstances the user may perform an action, such as adjustingthe tilt or rotation to move the user interface in another direction orshaking the portable computing device, for example, to indicate a desireto discontinue the current action.

FIG. 5 depicts an illustrative process flow 500 of a portable computingdevice, in accordance with various embodiments of the presentdisclosure. In some embodiments, the process may optionally begin atblock 502 with detection of a scroll activation action, e.g., by a userinterface engine of the portable computing device. In embodiments, thescroll activation action may be utilized to prevent accidental scrollingof a user interface by a user. Such a scroll activation action mayinclude, but is not limited to, shaking of the portable computingdevice, a touch of an interactive display or an interaction zone for apredetermined period of time, a squeeze of the portable computing devicedetected by one or more pressure sensors of the portable computingdevice, a pressing of a sequence of buttons and/or soft keys of theportable computing device, a predefined gesture drawn on the interactivedisplay or the interaction zone by a user of the portable computingdevice, a covering of a camera of the portable computing device for apredetermined period of time, tilting and/or rotating the portablecomputing device beyond a predefined point, or any other such actioncapable of evincing an intent of the user to cause the user interface toscroll. In other embodiments, such a scroll activation action may beunnecessary and the procedure of block 502 may be omitted.

In block 504 input indicating a portion of the user interface with whichthe user wishes to interact may be detected, e.g., by a user interfaceengine of the portable computing device. Such input may, in someembodiments, include tilting and/or rotating the portable computingdevice. In some embodiments, portions of the user interface may beassociated with different degrees of tilt and/or rotation of theportable computing device such that a change in the degree of the tiltand/or rotation may indicate a different portion of the user interface.For example, a display may be divided into a number of segments andsuccessive rotations from a reference point, (e.g. rotations of 10degrees) may cause the portion of the user interface with which the userwishes to interact to change from one segment to the next. In otherembodiments, a user may utilize a finger on the display or aninteraction zone of the display to drag the user interface until theportion of the user interface the user wishes to interact with is withinthe interaction zone. In still another embodiment, sections of theinteraction zone may correlate with sections of the user interface and atouch of a specific section of the interaction zone may indicate thatthe user wishes to interact with the correlated section of the userinterface. For example, if a user wishes to interact with a top rightportion of the user interface then the user may touch the top rightportion of the interaction zone to indicate the portion of the userinterface with which the user would like to interact. The abovedescribed inputs are merely meant to be illustrative inputs, any inputby a user that may indicate a portion of the user interface with whichthe user would like to interact may be utilized without departing fromthe scope of this disclosure. Furthermore, the portion of the userinterface may be an area of the user interface or even a specificelement or icon of the user interface.

In block 506 an interaction zone may be determined, e.g., by a userinterface engine of the portable computing device. In some embodiments,the interaction zone may be determined based, at least in part, upon anorientation of the portable computing device. For example, if theportable computing device is in a portrait orientation then oneinteraction zone may be determined, while in a landscape orientationanother interaction zone may be determined. In other embodiments, theinteraction zone may be determined based upon a position of one or moreof the user's hands on the portable computing device. For example, if auser is holding the portable computing device in the lower right handcorner, then the interaction zone may be determined to also be locatedin the lower right hand corner. In still other embodiments, theinteraction zone may be determined based upon a combination of theorientation of the portable computing device and a position of one ormore of the user's hands on the portable computing device. For example,if the portable computing device is being held in a landscape positionand one of the user's hands is located in the lower right corner of theportable computing device then a corresponding interaction zone may bedetermined. In still other embodiments, the user may tap an area of thescreen to identify the location that the user desires to be theinteraction zone.

In further embodiments, more than one interaction zone may bedetermined. For example, if the portable computing device is operatedwith one hand on either side of the portable computing device, then aninteraction zone may be determined based upon the location of each hand.In such embodiments, another determination may be made based upon theportion of the user interface that has been determined above and/or themanner of the selection. For example, in an embodiment where the userpositions the computing device for a portion of the user interface tofall into an interaction zone, then an interaction zone in the path ofthe fall may be selected over another interaction zone where more thanone interaction zone has been identified. In another example, where auser may utilize a finger on the display or the interaction zone to dragthe user interface until the portion of the user interface the userwishes to interact appears in the interaction zone, the direction of thedragging may determine the interaction zone the user wishes to utilizein interacting with the portion of the user interface.

In some of these embodiments, the interaction zone may be selected froma number of possible interaction zones based upon the above describeddetermination processes or any other suitable determination process.These possible interaction zones may be predefined in the device by themanufacturer of the device or software/firmware of the device by thesoftware/firmware vendor. In other embodiments, the user of the devicemay define one or more interaction zones from which to select, alongwith criteria for the defined interaction zone's selection, where morethan one interaction zone has been defined. For example, a user maydefine an interaction zone and may associate that defined interactionzone with an orientation and/or hand position for when that interactionzone may be selected. In some embodiments, a single interaction zone maybe predefined and, in such embodiments, the determination of theinteraction zone may be omitted. While depicted here as occurring afterblock 504, in some embodiments the procedure described above for block506 may occur before that described for block 504 above.

Once the portion of the user interface the user wishes to interact withand the interaction zone have been determined, the portion of the userinterface may be moved to the interaction zone at block 508, e.g., by auser interface engine of the portable computing device. This may beaccomplished, as described above in reference to FIG. 2, by moving theentirety of the user interface such that the portion of the userinterface may align with, or be encompassed by, the determinedinteraction zone. In some embodiments, this may appear to the user as ajump from one location of the screen to another. In other embodiments,it may appear to the user to be a sliding of the user interface. In suchembodiments, a speed of the sliding may be determined based upon adegree of tilt and/or rotation of the portable computing device, forexample. In some embodiments, the portion of the user interface mayseparate from a reminder of the user interface and move to theinteraction zone. In such embodiments, only the portion of the userinterface would move, rather than the entirety of the user interface,leaving the remainder of the user interface in the original location. Infurther embodiments, the entirety of the user interface may be movedsuch that the portion of the user interface with which the user wouldlike to interact moves into the interaction zone. In such embodiments,as the entire interface moves, a section of the interface may leave thedisplay. In some embodiments, such as that depicted in FIG. 1 above, asthe section of the user interface leaves the display the section of thedisplay may disappear until the user has completed the interaction withthe portion of the screen through the interaction zone, after which theuser interface may return to an original, or home, position. In otherembodiments, such as that depicted in FIG. 2 above, as a section of theuser interface passes off of an edge of the display that section mayreemerge on an opposite edge of the display, essentially looping theuser interface on the display. In such embodiments, rather than movingthe user interface back to the original location, the user interface maymerely continue the loop to achieve the same effect.

In block 510, the portion of the user interface may be returned to ahome location, e.g., by a user interface engine of the portablecomputing device. As used herein, the home location may be the originallocation of the portion of the user interface prior to the movement ofblock 508. In some embodiments, the procedure of block 510 may occuronce the user has completed interaction with the portion of the screenthrough the interaction zone. The completion of the interaction may, insome embodiments, be determined by the user's activation of an elementof the user interface, e.g., selection of an icon to initiate anassociated application. In other embodiments, the completion of theinteraction may be based upon a time period of inactivity or any othersuitable action or inaction.

In some circumstances, a user may change the user's mind about theportion of the user interface the user wishes to interact with or theportion may be incorrectly determined. In such circumstances the usermay perform an action, such as shaking the portable computing device, toindicate a desire to discontinue the current action. Once such an actionis detected the portion of the user interface may return to its homelocation if the movement described in reference to block 508 has begun.

FIG. 6 depicts an illustrative configuration of a portable computingdevice 600, according to some embodiments of the present disclosure.Portable computing device 600 may be any type of portable computingdevice, such as a smart phone, tablet, ultrabook, ebook, laptopcomputer, tablet/laptop hybrid, media player, or gaming device. It willbe appreciated that the computing devices mentioned above are merelyexamples that are meant to be illustrative. This disclosure is equallyapplicable regardless of the computing device's form.

Portable computing device 600 may comprise processor(s) 602, display604, Sensors 606, Storage 608 containing user interface engine 610, andother input/output (I/O) devices 612. Processor(s) 602, display 604,sensors 606, storage 608 and other input/output (I/O) devices 612 mayall be coupled together utilizing system bus 614.

Processor(s) 602 may be comprised of a single processor or multipleprocessors. In multiple processor embodiments, the multiple processorsmay be of the same type, i.e. homogeneous, or may be of differing types,i.e. heterogeneous and may include any type of single or multi-coreprocessors. This disclosure is equally applicable regardless of typeand/or number of processors.

Display 604 may be any type of display including, a liquid crystal diode(LCD), an organic light emitting diode (OLED), a plasma display or anyother similar display. In embodiments, display 604 may be an interactivedisplay such as a touch sensitive display.

Display 604 may be incorporated into computing device 600 or may beperipherally connected to computing device 600 through any type of wiredand/or wireless connection. This disclosure is equally applicableregardless of the type of display.

Sensors 606 may include, in some embodiments, sensors such as a camera,accelerometer, gyroscope, pressure sensors, etc. These sensors mayenable computing device 600 to carry out one or more of the processesdescribed above in reference to FIGS. 1-5. It will be appreciated thatthe sensors mentioned above are merely examples that are meant to beillustrative.

In embodiments, storage 608 may be any type of computer-readable storagemedium or any combination of differing types of computer-readablestorage media. Storage 608 may include volatile andnon-volatile/persistent storage. Volatile storage may include e.g.,dynamic random access memory (DRAM). Non-volatile/persistent storage mayinclude, but is not limited to, a solid state drive (SSD), a magnetic oroptical disk hard drive, flash memory, or any multiple or combinationthereof.

In embodiments user interface engine 610 may be implemented as software,firmware, or any combination thereof. In some embodiments, userinterface engine 610 may comprise one or more instructions that, whenexecuted by processor(s) 602, cause computing device 600 to perform oneor more operations of any process described herein. In embodiments, userinterface engine 610 may be configured to receive data from sensors 606.In some embodiments, user interface engine 610 may be configured tomonitor a stream of data produced by sensors 606. In other embodiments,user interface engine 610 may be configured to periodically receiveportions of data from sensors 606 for analysis. In some embodiments,user interface engine 610 may be configured to determine a direction theuser would like a portion of the user interface to move or determine aportion of the user interface with which the user would like tointeract, as described above, but may output these determinations toanother application or an operating system (OS) of the portablecomputing device to have the actual movement of the user interfaceaccomplished. This may be accomplished in some embodiments, through anapplication programming interface (API) integrated into user interfaceengine 610.

In embodiments, user interface engine 610 may be configured to analyzethe data received from sensors 606. In some embodiments, the data may beanalyzed to determine a position of a user's hand(s) and/or finger(s) oncomputing device 600. In some embodiments, the data may be analyzed todetermine if a pre-determined action occurs within the sensor data, suchas those actions described in reference to FIGS. 1-5. This may beaccomplished, for example, by comparing data captured by one or more ofthe sensors with a database of predefined actions.

For the purposes of this description, a computer-usable orcomputer-readable medium can be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable storage mediuminclude a semiconductor or solid state memory, magnetic tape, aremovable computer diskette, a random access memory (RAM), a read-onlymemory (ROM), a rigid magnetic disk and an optical disk. Currentexamples of optical disks include compact disk-read only memory(CD-ROM), compact disk-read/write (CD-R/W) and DVD.

Embodiments of the disclosure can take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment containingboth hardware and software elements. In various embodiments, software,may include, but is not limited to, firmware, resident software,microcode, and the like. Furthermore, the disclosure can take the formof a computer program product accessible from a computer-usable orcomputer-readable medium providing program code for use by or inconnection with a computer or any instruction execution system.

Although specific embodiments have been illustrated and describedherein, it will be appreciated by those of ordinary skill in the artthat a wide variety of alternate and/or equivalent implementations maybe substituted for the specific embodiments shown and described, withoutdeparting from the scope of the embodiments of the disclosure. Thisapplication is intended to cover any adaptations or variations of theembodiments discussed herein. Therefore, it is manifestly intended thatthe embodiments of the disclosure be limited only by the claims and theequivalents thereof.

EXAMPLES

Some non-limiting examples are:

Example 1 is a portable computing device to facilitate user interactionwith a user interface comprising: a display, a processor coupled withthe display, one or more applications operated on the processor, and auser interface engine. The user interface engine is to be operated onthe processor to render a user interface of the one or more applicationson the display. The user interface engine or the one or moreapplications are further operated by the processor to: detect movementof the portable computing device indicating a direction a user of theportable computing device would like a portion of the user interface tomove; and cause the portion of the user interface to be moved, from acurrent location on the display to another location on the display, inaccordance with the indicated direction, to facilitate the user tointeract with the portion of the user interface.

Example 2 may include the subject matter of Example 1, wherein the userinterface engine or the one or more applications are further to beoperated on the processor to cause the portion of the user interface toreturn to the current location from the another location upon completionof the user's interaction with the portion of the user interface.

Example 3 may include the subject matter of Example 1, wherein movementof the portable computing device comprises at least one of tilt orrotation of the portable computing device.

Example 4 may include the subject matter of Example 3, wherein theportable computing device further comprises a movement sensor configuredto detect and output data concerning movement of the portable computingdevice, and wherein detection of movement of the portable computingdevice is based at least in part on the data output by the movementsensor.

Example 5 may include the subject matter of Example 4, wherein themovement sensor comprises at least one of an accelerometer or agyroscope.

Example 6 may include the subject matter of any one of Examples 1-5,wherein the another location comprises an interaction zone of thedisplay.

Example 7 may include the subject matter of Example 6, wherein theinteraction zone comprises a fixed area of the display.

Example 8 may include the subject matter of Example 6, wherein the userinterface engine is further operated on the processor to determine theinteraction zone.

Example 9 may include the subject matter of Example 8, whereindetermination of the interaction zone comprises selection of theinteraction zone from one or more areas of the display based upon anorientation of the portable computing device.

Example 10 may include the subject matter of Example 9, wherein the oneor more areas of the display are predefined by the user of the portablecomputing device.

Example 11 may include the subject matter of Example 10, wherein the oneor more areas of the display predefined by the user enable the user tointeract with the entire user interface via the interaction zone withone hand while holding the portable computing device with the one hand.

Example 12 may include the subject matter of Example 8, wherein todetermine the interaction zone comprises to determine the interactionzone based on movement of the portable computing device.

Example 13 may include the subject matter of Example 8, wherein todetermine the interaction zone comprises determination of an area of thedisplay of the portable computing device with which the user mayinteract given a current position of one or more of the user's hands onthe portable computing device.

Example 14 may include the subject matter of Example 13, wherein todetermine the interaction zone comprises: to determine a position of oneor more of the user's hands on the portable computing device; and todetermine the interaction zone based on the determined position.

Example 15 may include the subject matter of any one of Examples 1-5,wherein the portion of the user interface is an interactive element ofthe user interface.

Example 16 may include the subject matter of any one of Examples 1-5,wherein to detect movement of the portable computing device is furtherto only detect movement of the portable computing device on detection ofa predefined scroll activation action.

Example 17 may include the subject matter of any one of Examples 1-5,wherein to cause the portion of the user interface to move from thecurrent location to the another location is to scroll the entire userinterface to move the portion of the user interface from the currentlocation to the another location.

Example 18 may include the subject matter of any one of Examples 1-5,wherein the portable computing device is one of a smart phone, tablet,personal digital assistant (PDA), tablet-laptop hybrid, media player, orgaming device.

Example 19 is a computer implemented method for facilitating userinteraction with a user interface comprising: detecting, by a userinterface engine of a portable computing device, movement of theportable computing device indicating a direction a user of the portablecomputing device would like a portion of the user interface to move; andcausing, by the user interface engine, the portion of the user interfaceto be moved, from a current location on the display to another locationon the display, in accordance with the indicated direction, tofacilitate the user of the portable computing device in interacting withthe portion of the user interface.

Example 20 may include the subject matter of Example 19, wherein causingthe portion of the user interface to be moved in accordance with theindicated direction comprises outputting, by the user interface engine,of an indicator of the indicated direction to an operating system (OS)or an application of the computing device for use by the OS or theapplication to move the portion of the user interface in accordance withthe indicated direction.

Example 21 may include the subject matter of Example 20, furthercomprising returning, by the user interface engine, the portion of theuser interface to the current location from the another location uponcompletion of the user's interaction with the portion of the userinterface.

Example 22 may include the subject matter of Example 19, whereinmovement of the portable computing device comprises at least one of tiltor rotation of the portable computing device.

Example 23 may include the subject matter of Example 22, whereindetecting movement of the portable computing device is based at least inpart on data output by an accelerometer or a gyroscope of the portablecomputing device.

Example 24 may include the subject matter of any one of Examples 19-23,wherein the another location comprises an interaction zone of thedisplay.

Example 25 may include the subject matter of Example 24, wherein theinteraction zone comprises a fixed area of the display.

Example 26 may include the subject matter of Example 24, furthercomprising determining, by the user interface engine, the interactionzone.

Example 27 may include the subject matter of Example 26, whereindetermining the interaction zone comprises selecting the interactionzone from one or more areas of the display based upon an orientation ofthe portable computing device.

Example 28 may include the subject matter of Example 27, wherein the oneor more areas of the display are predefined by the user of the portablecomputing device.

Example 29 may include the subject matter of Example 27, wherein the oneor more areas of the display predefined by the user enable the user tointeract with the entire user interface via the interaction zone withone hand while holding the portable computing device with the one hand.

Example 30 may include the subject matter of Example 26, whereindetermining the interaction zone is based at least in part on movementor rotation of the portable computing device.

Example 31 may include the subject matter of Example 26, whereindetermining the interaction zone comprises determining an area of thedisplay of the portable computing device with which the user mayinteract given a current position of one or more of the user's hands onthe portable computing device.

Example 32 may include the subject matter of Example 31, whereindetermining the interaction zone comprises: determining a position ofone or more of the user's hands on the portable computing device; anddetermining the interaction zone based on the determined position.

Example 33 may include the subject matter of any one of Examples 19-23,wherein the portion of the user interface is an interactive element ofthe user interface.

Example 34 may include the subject matter of any one of Examples 19-23,wherein detecting movement of the portable computing device comprisesonly detecting movement of the portable computing device on detecting apredefined scroll activation action.

Example 35 may include the subject matter of any one of Examples 19-23,wherein causing the portion of the user interface to move from thecurrent location to the another location comprises scrolling the entireuser interface to move the portion of the user interface from thecurrent location to the another location.

Example 36 is at least one computer-readable storage medium havinginstructions to facilitate user interaction with a portion of a userinterface stored thereon which, when executed by a portable computingdevice, cause the portable computing device to carry out the method ofany one of Examples 19-35.

Example 37 is an apparatus to facilitate user interaction with a userinterface comprising: means for detecting movement of the computingapparatus indicating a direction the user of the computing apparatuswould like a portion of the user interface to move; and means forcausing the portion of the user interface to be moved, from a currentlocation on a display to another location on the display, in accordancewith the indicated direction, to facilitate the user of the apparatus ininteracting with the portion of the user interface.

Example 38 may include the subject matter of Example 37, wherein meansfor causing the portion of the user interface to be moved in accordancewith the indicated direction further comprises means for outputting ofan indicator of the indicated direction to an operating system (OS) oran application of the computing device for use by the OS or theapplication to move the portion of the user interface in accordance withthe indicated direction.

Example 39 may include the subject matter of Example 38, furthercomprising means for returning, by the user interface engine, theportion of the user interface to the current location from the anotherlocation upon completion of the user's interaction with the portion ofthe user interface.

Example 40 may include the subject matter of Example 37, whereinmovement of the apparatus comprises at least one of tilt or rotation ofthe apparatus.

Example 41 may include the subject matter of Example 40, whereindetecting movement of the apparatus is based at least in part on dataoutput by an accelerometer or a gyroscope of the apparatus.

Example 42 may include the subject matter of any one of Examples 37-41,wherein the another location comprises an interaction zone of thedisplay.

Example 43 may include the subject matter of Example 42, wherein theinteraction zone comprises a fixed area of the display.

Example 44 may include the subject matter of Example 42, furthercomprising means for determining the interaction zone.

Example 45 may include the subject matter of Example 44, wherein meansfor determining the interaction zone comprises means for selecting theinteraction zone from one or more areas of the display based upon anorientation of the apparatus.

Example 46 may include the subject matter of Example 45, wherein the oneor more areas of the display are predefined by the user of theapparatus.

Example 47 may include the subject matter of Example 45, wherein the oneor more areas of the display predefined by the user enable the user tointeract with the entire user interface via the interaction zone withone hand while holding the apparatus with the one hand.

Example 48 may include the subject matter of Example 44, whereindetermining the interaction zone is based at least in part on movementor rotation of the apparatus.

Example 49 may include the subject matter of Example 44, whereindetermining the interaction zone comprises means for determining an areaof the display of the apparatus with which the user may interact given acurrent position of one or more of the user's hands on the apparatus.

Example 50 may include the subject matter of Example 49, whereindetermining the interaction zone comprises: means for determining aposition of one or more of the user's hands on the apparatus; and meansfor determining the interaction zone based on the determined position.

Example 51 may include the subject matter of any one of Examples 37-41,wherein the portion of the user interface is an interactive element ofthe user interface.

Example 52 may include the subject matter of any one of Examples 37-41,further comprising means for detecting a predefined scroll activationaction and wherein detecting movement of the apparatus comprises onlydetecting movement of the apparatus on detecting the predefined scrollactivation action.

Example 53 may include the subject matter of any one of Examples 37-41,wherein means for causing the portion of the user interface to move fromthe current location to the another location comprises means forscrolling the entire user interface to move the portion of the userinterface from the current location to the another location.

Example 54 is at least one computer-readable storage medium havinginstructions stored thereon which, when executed by a portable computingdevice, cause the portable computing device to: detect movement of theportable computing device indicating a direction a user of the portablecomputing device would like a portion of the user interface to move; andcause the portion of the user interface to be moved, from a currentlocation on the display to another location on the display, inaccordance with the indicated direction, to facilitate the user of theportable computing device in interacting with the portion of the userinterface.

Example 55 may include the subject matter of Example 54, wherein tocause the portion of the user interface to be moved in accordance withthe indicated direction comprises output of an indicator of theindicated direction to an operating system (OS) or an application of thecomputing device for use by the OS or the application to move theportion of the user interface in accordance with the indicateddirection.

Example 56 may include the subject matter of Example 55, wherein theinstructions, when executed by the portable computing device, furthercause the portable computing device to return the portion of the userinterface to the current location from the another location uponcompletion of the user's interaction with the portion of the userinterface. Example 57 may include the subject matter of Example 54,wherein movement of the portable computing device comprises at least oneof tilt or rotation of the portable computing device.

Example 58 may include the subject matter of Example 57, wherein todetect movement of the portable computing device is based at least inpart on data output by an accelerometer or a gyroscope of the portablecomputing device.

Example 59 may include the subject matter of any one of Examples 54-58,wherein the another location comprises an interaction zone of thedisplay.

Example 60 may include the subject matter of Example 59, wherein theinteraction zone comprises a fixed area of the display.

Example 61 may include the subject matter of Example 59, furthercomprising determining, by the user interface engine, the interactionzone.

Example 62 may include the subject matter of Example 61, wherein todetermine the interaction zone comprises selecting the interaction zonefrom one or more areas of the display based upon an orientation of theportable computing device.

Example 63 may include the subject matter of Example 62, wherein the oneor more areas of the display are predefined by the user of the portablecomputing device.

Example 64 may include the subject matter of Example 62, wherein the oneor more areas of the display predefined by the user enable the user tointeract with the entire user interface via the interaction zone withone hand while holding the portable computing device with the one hand.

Example 65 may include the subject matter of Example 61, wherein todetermine the interaction zone is based at least in part on movement orrotation of the portable computing device.

Example 66 may include the subject matter of Example 61, wherein todetermine the interaction zone is based at least in part on a currentposition of one or more of the user's hands on the portable computingdevice.

Example 67 may include the subject matter of Example 66, wherein todetermine the interaction zone comprises: determination of a position ofone or more of the user's hands on the portable computing device; anddetermination of the interaction zone based on the determined position.

Example 68 may include the subject matter of any one of Examples 54-58,wherein the portion of the user interface is an interactive element ofthe user interface. Example 69 may include the subject matter of any oneof Examples 54-58, wherein the instructions, when executed by theportable computing device, further cause the portable computing deviceto detect a predefined scroll activation action and wherein to detectmovement of the portable computing device is based on the detection ofthe predefined scroll activation action.

Example 70 may include the subject matter of any one of Examples 54-58,wherein to move the portion of the user interface is to scroll theentire user interface to move the portion of the user interface from thecurrent location to the another location.

What is claimed is:
 1. At least one computer-readable storage medium having instructions stored thereon which, when executed by a portable computing device, cause the portable computing device to: detect movement of the portable computing device indicating a direction of a user of the portable computing device would like a portion of the user interface to move; and cause the portion of the user interface to be moved, from a current location on the display to another location on the display, in accordance with the indicated direction, to facilitate the user of the portable computing device in interacting with the portion of the user interface. 